Predictive messaging service for active voice calls

ABSTRACT

Concepts and technologies disclosed herein are for a predictive messaging service for active voice calls. A method for predictive messaging may include receiving, at a predictive messaging system, incoming audio associated with an active voice call, converting the audio into text, analyzing the text to predict a message that a user participating in the active voice call is expected to send, creating the message, and sending the message to a network element for delivery to a destination.

TECHNICAL FIELD

The concepts and technologies disclosed herein generally relate tocommunication services. More specifically, the concepts and technologiesdisclosed herein relate to a predictive messaging service for activevoice calls.

BACKGROUND

Text messaging is a ubiquitous communication service used to exchangemessages between compatible mobile communications devices. Onetechnology used to exchange such messages is called Short MessageService (“SMS”). SMS messages are limited to 160 characters, butmultiple SMS messages may be combined to create messages that includemore than 160 characters. SMS relies upon control channels of voicenetworks, such as Global System for Mobile communications (“GSM”) andUniversal Mobile Telecommunications System (“UMTS”), to transmit SMSmessages to and from compatible mobile communications devices. As analternative to SMS, IP messages may be exchanged over a data network.Other text-based communication services such as instant messaging,email, and social network messaging are commonly used to exchangetext-based information.

Voicemail is another ubiquitous communication service. Voicemailservices allow a calling party to leave a voicemail message if a calledparty is unavailable. Some voicemail systems are configured to execute asoftware application or request another system to execute a softwareapplication to convert voicemail messages into text and to send theconverted messages via SMS or email to one or more recipients.

SUMMARY

Concepts and technologies are described herein for a predictivemessaging service for active voice calls. According to one aspectdisclosed herein, a method for predictive messaging may includereceiving, at a predictive messaging system, incoming audio associatedwith an active voice call, converting the audio into text, analyzing thetext to predict a message that a user participating in the active voicecall is expected to send, creating the message, and sending the messageto a network element for delivery to a destination. In some embodiments,analysis of text to predict a message that a user participating in theactive voice call is expected to send includes comparing the text to apattern and determining based upon the comparison if at least a portionof the text matches the pattern. In some embodiments, the pattern iscontained within a user profile associated with the user. In someembodiments, the user profile also contains the destination.

It should be appreciated that the above-described subject matter may beimplemented as a computer-controlled apparatus, a computer process, acomputing system, or as an article of manufacture such as acomputer-readable storage medium. These and various other features willbe apparent from a reading of the following Detailed Description and areview of the associated drawings.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intendedthat this Summary be used to limit the scope of the claimed subjectmatter. Furthermore, the claimed subject matter is not limited toimplementations that solve any or all disadvantages noted in any part ofthis disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating aspects of an illustrativeoperating environment for various concepts disclosed herein.

FIG. 2 is a block diagram illustrating aspects of an illustrativepredictive messaging system capable of implementing aspects of variousembodiments disclosed herein.

FIG. 3 is a flow diagram illustrating aspects of a method for predictinga message that a user is expected to send based upon informationexchanged during a voice call and distributing the messages to one ormore destinations, according to an illustrative embodiment.

FIG. 4 is a flow diagram illustrating aspects of another method forpredicting a message that a user is expected to send based uponinformation exchanged during a voice call and distributing the messagesto one or more destinations, according to an illustrative embodiment.

FIG. 5 is a flow diagram illustrating aspects of a method for creating auser profile for a predictive messaging service, according to anillustrative embodiment.

FIG. 6 is a flow diagram illustrating aspects of a method for modifyinga pattern utilized to predict a message that a user is expected to sendbased upon information exchanged during a voice call, according to anillustrative embodiment.

FIG. 7 is a computer architecture diagram illustrating an illustrativecomputer hardware and software architecture for a computing systemcapable of implementing aspects of the embodiments presented herein.

FIG. 8 is a mobile device architecture diagram illustrating anillustrative mobile device hardware and software architecture for amobile device capable of implementing aspects of the embodimentsdisclosed herein.

DETAILED DESCRIPTION

The following detailed description is directed to concepts andtechnologies for a predictive messaging service for active voice calls.Through the embodiments presented herein, a predictive messaging systemcan predict, based upon information exchanged during a voiceconversation occurring over an active voice call, one or more messagesthat a user is expected to send during or after the active voice call ofwhich the user is a participant. Additional details regarding thevarious embodiments presented herein will be provided below withreference to FIGS. 1-8.

While the subject matter described herein may be presented, at times, inthe general context of program modules that execute in conjunction withthe execution of an operating system and application programs on acomputer system, those skilled in the art will recognize that otherimplementations may be performed in combination with other types ofprogram modules. Generally, program modules include routines, programs,components, data structures, computer-executable instructions, and/orother types of structures that perform particular tasks or implementparticular abstract data types. Moreover, those skilled in the art willappreciate that the subject matter described herein may be practicedwith other computer system configurations, including hand-held devices,mobile devices, wireless devices, multiprocessor systems, distributedcomputing systems, microprocessor-based or programmable consumerelectronics, minicomputers, mainframe computers, routers, switches, andthe like.

In the following detailed description, references are made to theaccompanying drawings that form a part hereof, and in which are shown byway of illustration specific embodiments or examples. Referring now tothe drawings, in which like numerals represent like elements throughoutthe several figures, example aspects of a predictive messaging servicefor active voice calls will be presented.

Referring now to FIG. 1, aspects of an illustrative operatingenvironment 100 for various concepts disclosed herein will be described.It should be understood that the operating environment 100 and thevarious components thereof have been greatly simplified for purposes ofdiscussion. Accordingly, additional or alternative components of theoperating environment 100 may be available without departing fromillustrative embodiments described herein.

The operating environment 100 shown in FIG. 1 includes a mobilecommunications device (“mobile device”) 102 operating in communicationwith one or more radio access networks (“RANs”) 104. The mobile device102 may be a cellular telephone, a smartphone, a mobile computer, atablet computer, or other computing device that is configured with anintegrated or an external, removable access component that facilitateswireless communication with the RAN 104. In some embodiments, the accesscomponent may be a cellular telephone that is in wired or wirelesscommunication with a computer to facilitate a tethered data connectionto the RAN 104. In other embodiments, the access component may include awireless transceiver configured to send and receive data from the RAN104 and a universal serial bus (“USB”) or another communicationinterface for connection to the computer to enable tethering. In anycase, the mobile device 102 may be configured to wirelessly communicatewith the RAN 104 over an air interface in accordance with one or moreradio access technologies so as to initiate, receive, and/or maintainvoice calls with one or more other devices. The mobile device 102 mayalso be configured to send and receive Short Message Service (“SMS”)messages, email, and other messages to other devices.

In some embodiments, the RAN 104 is a Global System for Mobilecommunications RAN (“GRAN”), a GSM EDGE RAN (“GERAN”), a UniversalMobile Telecommunications System (“UMTS”) Terrestrial Radio AccessNetwork (“UTRAN”), a Long Term Evolution (“LTE”) RAN, any combinationthereof, or the like. Moreover, although the mobile device 102 isillustrated as being in communication with a single RAN 104, the mobiledevice 102 may also communicate with other RANs, which may utilizedifferent radio access technologies. As such, the mobile device 102 maybe a multi-mode communications device.

The illustrated RAN 104 is in communication with a core network 106,which may include a circuit-switched core network (“CS CN”), apacket-switched core network (“PS CN”), and/or an IP multimediasubsystem (“IMS”) core network. The core network 106 may utilize one ormore mobile telecommunications technologies to provide voice and/or dataservices via the RAN 104 to a wireless wide area network (“WWAN”)component (not shown) of the mobile device 102. The mobiletelecommunications technologies may include, but are not limited to,GSM, Code Division Multiple Access (“CDMA”) ONE, CDMA2000, UMTS, LTE,Worldwide Interoperability for Microwave Access (“WiMAX”), other 802.XXtechnologies, and/or the like. Moreover, the RAN 104 may utilize variouschannel access methods (which may or may not be used by theaforementioned standards) including, but not limited to, Time DivisionMultiple Access (“TDMA”), Frequency Division Multiple Access (“FDMA”),CDMA, wideband CDMA (“W-CDMA”), Orthogonal Frequency DivisionMultiplexing (“OFDM”), Space Division Multiple Access (“SDMA”), and/orthe like to provide access to the core network 106. Data communicationsmay be provided using General Packet Radio Service (“GPRS”), EnhancedData rates for Global Evolution (“EDGE”), the High-Speed Packet Access(“HSPA”) protocol family including High-Speed Downlink Packet Access(“HSDPA”), Enhanced Uplink (“EUL”) or otherwise termed High-Speed UplinkPacket Access (“HSUPA”), Evolved HSPA (“HSPA+”), LTE, and/or variousother current and future wireless data access standards. The corenetwork 106 may be configured to provide voice and/or datacommunications with any combination of the above technologies. The corenetwork 106 may be configured to or adapted to provide voice and/or datacommunications in accordance with future generation technologies.

The illustrated core network 106 is in communication with one or morecircuit networks 108, such as a public switched telephone network(“PSTN”), an integrated services digital network (“ISDN”), and/or othercircuit-switched network. The illustrated circuit network(s) 108 is incommunication with a landline communications device (“landline device”)109, such as a landline telephone or other device that is configured toinitiate, receive, and/or maintain voice calls with the mobile device102 and/or one or more other devices, via the circuit network(s) 108.

The illustrated core network 106 is also in communication with one ormore packet networks 110, such as an internet, the Internet, anintranet, or other packet-switched network. The illustratedpacket-switched network(s) 110 is in communication with an internetservice provider (“ISP”) network 112, which may provide access to thepacket network 110 for other packet-switched networks, such as awireless local area network (“WLAN”) access network 114. In someembodiments, the WLAN access network 114 is configured to operate inaccordance with one or more Institute of Electrical and ElectronicEngineers (“IEEE”) 802.11 standards, such as IEEE 802.11a, 802.11b,802.11g, 802.11n, and/or future 802.11 standard (referred to hereincollectively as WI-FI). Draft 802.11 standards are also contemplated. Insome embodiments, the WLAN access network 114 is implemented utilizingone or more wireless WI-FI access points. In these embodiments, one ormore of the wireless WI-FI access points may be another computingdevice, such as a cellular telephone, smartphone, computer, or tablet,that is functioning as a WI-FI hotspot, and that has connectivity to aWWAN, such as provided by the RAN 104 and the core network 106.Connections to the WLAN access network 114 may be secured via variousencryption technologies including, but not limited to, WI-FI ProtectedAccess (“WPA”), WPA2, Wired Equivalent Privacy (“WEP”), and the like.

The illustrated operating environment 100 also includes a Voice over IPcommunications device (“VoIP device”) 115 that is in communication withthe WLAN access network 114. The VoIP device 115 may be configured tocommunicate with the WLAN access network 114 to initiate, receive,and/or maintain voice calls with one or more other devices, such as themobile device 102. The VoIP device 115 may be a cellular telephone, asmartphone, a mobile computer, a tablet computer, or another computer orother computing device that is configured to initiate, receive, and/ormaintain voice calls using a VoIP technology with one or more otherdevices. In some embodiments, the mobile device 102 is configured likethe VoIP device 115 to initiate, receive, and/or maintain voice callswith one or more other devices via the WLAN access network 114. In theseembodiments, the mobile device 102 may be a dual-mode device that isalso configured to communicate with the RAN 104.

The illustrated packet-switched network(s) 110 are in communication withone or more email servers 116, one or more instant messaging (“IM”)service servers 118, and one or more social networking (“SN”) servers120. In some embodiments, the servers 116, 118, 120 are implemented asrespective servers or computing systems including at least onerespective computer. However, in other embodiments, two or more of theservers 116, 118, 120 are implemented as components of the same serveror computing system, including a network or cloud-computing system. Theemail server 116, the IM service server 118, and the SN server 120 maybe configured to communicate with the mobile device 102 over the packetnetwork(s) 110 via a data connection established over the RAN 104 andthe core network 106. The email server 116, the IM service server 118,and the SN server 120 may be configured to communicate with one or moredevices, such as the mobile device 102 and/or the VoIP device 115, overthe packet network(s) 110 via a data connection facilitated by the ISPnetwork 112 and the WLAN access network 114.

The email server 116 may be configured to deliver email to/from themobile device 102 and/or one or more other devices, such as emailcapable devices in communication with the packet network(s) 110 via theWLAN access network 114 and/or the core network 106. In someembodiments, the email server 116 is configured to utilize one or moreemail protocols such as, but not limited to, post office protocol(“POP”), Internet mail access protocol (“IMAP”), simple mail transferprotocol (“SMTP”), hypertext transfer protocol (“HTTP”), or somecombination thereof, to deliver email to and receive email from one ormore devices. The email server 116 may also be configured to receiveemail messages that have been converted from audio of an active voicecall for delivery to one or more destinations, as will be described ingreater detail below.

The IM service server 118 may be configured to deliver an IM service viawhich people can engage in a communication session to exchange text,images, voice, and/or video. In some embodiments, the IM service server118 may be configured to utilize one or more IM protocols such as, butnot limited, to Internet relay chat (“IRC”), Microsoft Messenger,available from MICROSOFT CORPORTATION, Windows Live Messenger, alsoavailable from MICROSOFT CORPORTATION, OSCAR, available from AOL, Skypeprotocol, available from Skype, available from MICROSOFT CORPORATION,Yahoo! Messenger, available from YAHOO, extensible messaging andpresence protocol (“XMPP”), Facebook Messenger, available from FACEBOOKCORPORATION, or some combination thereof, to deliver instant messages toand receive instant messages, for example, from the mobile device 102.The IM service server 118 may also be configured to receive IM messagesthat have been converted from audio of an active voice call for deliveryto one or more destinations, as will be described in greater detailbelow.

In some embodiments, the SN server 120 provides one or more socialnetwork services, which can include commenting, blogging, and/ormicroblogging services. Examples of such services include, but are notlimited to, the YELP commenting service, the KUDZU review service, theOFFICETALK enterprise microblogging service, the TWITTER messagingservice, the GOOGLE BUZZ service, and/or other services. It should beappreciated that the above lists of services are not exhaustive and thatnumerous additional and/or alternative social networking services arenot mentioned herein for the sake of brevity. As such, the aboveembodiments are illustrative, and should not be construed as beinglimited in any way.

In some embodiments, the SN server 120 delivers social networkingmessages to/from devices such as the mobile device 102. Socialnetworking messages may include, but are not limited to, socialnetworking status messages, social networking chat messages, socialnetworking update messages, or some combination thereof. In someembodiments, the SN server 120 utilizes the email server 116 and/or theIM service server 118, and/or a similar server or computer to providecertain functionality for a social networking messaging infrastructure.For example, a social networking chat may utilize services provided bythe IM service server 118 or a similar server integrated within the SNserver 120. In some embodiments, the SN server 120 is configured toreceive social networking messages that have been converted from audioof an active voice call for delivery to one or more destinations, aswill be described in greater detail below.

The illustrated core network 106 is also in communication with a shortmessaging service center (“SMS-C”) and a multimedia messaging servicecenter (“MMS-C”), illustrated as a combined SMS-C/MMS-C 122. The SMS-Cand the MMS-C may be the same network entity or respective separatenetwork entities within the operating environment 100. The SMS-C/MMS-C122 may be configured to deliver SMS and/or MMS messages to the mobiledevice 102 and/or other compatible devices. The SMS-C/MMS-C 122 may alsobe configured to receive SMS messages that have been created by apredictive messaging system 124 for delivery to one or moredestinations, as will be described in greater detail below.

The predictive messaging system 124, in some embodiments, is configuredto capture audio associated with a voice conversation that occurs duringan active voice call, convert the voice conversation into text, analyzethe text to predict one or more messages that one or more participantsin the voice call is expected to send as a result of informationexchanged during the voice conversation, create the message(s), and sendthe message(s) to one or more network elements for delivery to one ormore destinations. The illustrated predictive messaging system 124 is asingle system. It is contemplated, however, that operations describedherein as being performed by the predictive messaging system 124 may beperformed by two or more systems, such as computers, that collectivelyfunction as the predictive messaging system 124. It is also contemplatedthat such systems may be co-located or may be remotely located.

In some embodiments, audio captured by the predictive messaging system124 is captured in real-time. Real-time is defined herein as the actualtime during which a process or event occurs. In the aforementionedembodiments, the predictive messaging system 124 captures audio as theaudio is received by the predictive messaging system 124; as a result,the predictive messaging system 124 captures the audio in real-time fromthe perspective of the predictive messaging system 124. It should beunderstood that, for various reasons, the audio received by thepredicative messaging system 124 may or may not be in real-time from theperspective of the participants in the voice call or from other networkelements. In other words, some delay may exist between the time theparticipants speak and the time the audio resulting from theparticipants' speech is received by the predictive messaging system 124.

It should be understood that the capture of audio associated with voiceconversations may be conducted under one or more agreements. Forexample, as a prerequisite for subscribing to or otherwise utilizing apredictive message service provided, at least in part, by a serviceprovider that operates or is otherwise associated with the predictivemessaging system 124, a user may be required to agree to one or morelegal agreements to allow his or her voice conversations to be captured.Moreover, the captured audio may be stored at least temporarily inaccordance with one or more legal agreements.

Audio associated with a voice conversation may include one or moreutterances spoken by one or more participants in an active voice call.In some embodiments, the predictive messaging system 124 is configuredto convert audio associated with a voice conversation into textutilizing one or more automatic speech recognition (“ASR”) technologies.In some embodiments, the predictive messaging system 124 utilizes atrainable ASR technology that can be trained to analyze audio associatedwith specific participants in a voice call. In these embodiments, an ASRprofile may be stored in a user profile associated with a participant inthe voice call and accessed by the predictive messaging system 124 toanalyze audio captured from the voice call.

In some embodiments, the predictive messaging system 124 is configuredto store converted text for a period of time. In some embodiments, theperiod of time for which converted text is stored is defined in a userpreference, which may be contained within a user profile. In someembodiments, the period of time for which converted text is stored isdefined by a service provider that operates or is otherwise associatedwith the predictive messaging system 124. As noted above, one or morelegal agreements may be in place to permit/deny storage of convertedtext and, in some implementations, a specification of the period of timefor which converted text is allowed to be stored.

In some embodiments, the predictive messaging system 124 is configuredto analyze converted text to predict one or more messages that one ormore participants in the voice call is expected to send at least in partby comparing the converted text to one or more patterns of data. In someembodiments, a pattern of data to which the predictive messaging system124 compares the converted text is defined by a user. In someembodiments, a pattern of data to which the predictive messaging system124 compares the converted text is defined by a service provider thatoperates or is otherwise associated with the predictive messaging system124. In some embodiments, a pattern of data to which the predictivemessaging system 124 compares the converted text is defined by a thirdparty.

In some embodiments, a pattern of data is defined at least in part byone or more rules that instruct the predictive messaging system 124 toidentify certain information exchanged in a voice conversation occurringduring an active voice call and, in response to identifying theinformation, perform one or more operations. In some embodiments, anoperation performed by the predictive messaging system 124 as a resultof a rule includes generating and sending one or more messages to one ormore destinations. In these embodiments, the one or more destinationsmay also be defined by the rule. For instance, the one or moredestinations may be one or more participants in the voice call (or moreparticularly one or more devices associated therewith) and/or otherdestinations such as email addresses, physical addresses, telephonenumbers, IM user handles, social networking account handles, and thelike, which may or may not be associated with the participants and/ortheir respective devices. In some other embodiments, an operationperformed by the predictive messaging system 124 as a result of a ruleinclude storing the information (e.g., in audio and/or text format) in adatabase or other storage associated with the predictive messagingsystem 124.

In some embodiments, a pattern of data to which the predictive messagingsystem 124 compares converted text includes one or more keywords. Thekeyword(s) may be defined as part of a rule. For example, one or morekeywords that indicate the presence of an emergency may be defined in apattern to identify an emergency situation discussed during an activevoice call and to notify emergency personnel such as police,firefighters, and/or paramedics via one or more messages. In thismanner, the participants of the voice call need not take additionalsteps to dial 9-1-1 or otherwise notify emergency personnel of anemergency situation. It should be appreciated that the above example usecase is not exhaustive and that numerous additional and/or alternativeuse cases are not mentioned herein for the sake of brevity.

In some embodiments, keywords included in a pattern of data are definedby a user. For example, the user may define the keywords “product”,“release”, “cool”, and “phone”, so that when text includes somecombination of these words, the predictive messaging system 124 predictsthat one or more participants in a voice call from which the text isgenerated is expected to send a message that identifies the fact that acool phone is going to be released. In some embodiments, a rule mayspecify that the presence of a certain keyword or keywords is toinstruct the predictive messaging system 124 to search for informationthat is potentially associated therewith. In the above example, thepredictive messaging system 124 may identify the keywords “product”,“release”, “cool”, and “phone” and then search for a date or some othertemporal hint (e.g., “in two weeks” or the like) also included in thetext. The date or other temporal hint can then be added to the messagethat identifies the fact that a cool phone is going to be released andsome indication as to when the release is expected to occur. As anotherexample, if the text of a call includes the words “fire”, “house”, and“burning” which matches a pattern of data including those keywords, thenthe predictive messaging system 124 may create a message to the firedepartment and/or other emergency department stating informationassociated with or derived from the pattern of data such as “House firesuspected.”

Another example of keyword usage is a user discussing financialinformation with a personal banker during a voice call. In this example,the predictive messaging system 124 may detect one or more keywords,such as bank name, account number, and transaction amount, and utilizethese keywords to create a message that is then sent to an email accountalerting the user of the transaction. In this manner, fraud and/oridentity theft may be reduced or eliminated.

An additional example is corporate users discussing a sensitive projectof which they are not allowed to discuss or divulge. In this case, thepredictive messaging system 124 may detect key phrases and send an emailmessage to corporate security and/or compliance officers alerting themof a violation in policy with regard to the sensitive project.

In some embodiments, a rule may instruct the predictive messaging system124 to include location information such as, but not limited to, anaddress, a cell site ID, and/or Global Positioning System (“GPS”)coordinates in a message generated by the predictive messaging system124. In the above house fire example, a rule may instruct the predictivemessaging system 124 to identify the calling party and/or the calledparty associated with a voice call, obtain address information for thecalling party and/or the called party from a customer database or othersource, and include the address information in a message to the firedepartment and/or other emergency department such that the messageindicates that the house fire is suspected “at XXXX address,” where)XXXX includes the address information obtained from the customerdatabase or the other source. It should be appreciated that the aboveexample is not exhaustive and that numerous additional and/oralternative examples are not mentioned herein for the sake of brevity.

In some embodiments, a pattern of data is associated with one or moretelephone numbers, which may include called and/or calling numbersassociated with a participants in a voice call. In some embodiments, apattern of data is utilized by the predictive messaging system 124 basedupon a condition that two particular telephone numbers are associatedwith a given voice call. In this manner, the participants in a givenvoice call can be identified with some certainty and a pattern of dataparticular to those participants can be utilized by the predictivemessaging system 124.

In some embodiments, a pattern of data incorporates user behavior. Theuser behavior may be what a user did after or during one or more voicecalls or other communications. For example, if a user is a participantin a voice call in which a specific individual is also a participant,and after contacting that individual the user sends (always or withinsome specified threshold frequency) an SMS message including a summaryof a voice conversation that occurred during the voice call, thepredictive messaging system 124 may use this pattern of data thatincorporates such user behavior to create one or more messages with asummary of one or more future voice calls. In this manner, thepredictive messaging system 124 may learn a user's behavior over timeand modify one or more patterns of data associated with a user toincorporate the learned used behavior.

In some embodiments, the predictive messaging system 124 is configuredto identify inflection expressed in audio associated with a voiceconversation occurring during an active voice call. Inflection may beused by the predictive messaging system 124 to associate a priority withinformation exchanged during a voice conversation. In some embodiments,a message created by the predictive messaging system 124 includes apriority identified by inflection used during a voice conversation fromwhich the message is created. In some embodiments, keywords may beused/not used based upon inflection associated with the keywords. Inthis manner, the predictive messaging system 124 may ignore a keyword orutilize a keyword based upon the presence of inflection or lack thereofin association with the keyword as spoken.

In some embodiments, a message created by the predictive messagingsystem 124 is a text-based message. A text-based message may include oneor more characters such as, but not limited to, letters, numericaldigits, punctuation marks, and/or symbols. It is contemplated that atext-based message may utilize any character encoding to representcharacters.

In some embodiments, a message created by the predictive messagingsystem 124 is or includes an image such as, but not limited to, aphotograph, a graphic, or some other visual representation of a person,place, thing, or abstraction. Moving images such as GIFs and videos arealso contemplated. In these embodiments, the message may be, but is notlimited to, an MMS message, an email message in which the image isembedded in a body thereof or attached as an email attachment thereto,or a social networking post to which the image is associated in someway. Also in these embodiments, the image may be referenced using one ormore keywords included in a pattern of data. For example, a voiceconversation may reveal that a “recent” “baby” “picture” is really good,and the predictive messaging system 124 may be instructed to, based uponthe presence of those keywords, access a device to obtain a “recent”“baby” “picture.” The device may be the device utilized by a participantthat uttered the keywords in the voice conversation. Moreover, imagemetadata may be used to determine a date, and the pattern of data may beused to determine if the date is recent per some specification. This isyet another non-exhaustive example.

In some embodiments, the network element to which the predictivemessaging system 124 sends one or more messages is the SMS-C/MMS-C 122for delivery of the message(s) to one or more destinations via SMS orMMS. In some other embodiments, the network element is the email server116 for delivery of the message(s) to the one or more destinations viaemail. In some other embodiments, the network element is the IM server118 for delivery of the message(s) to the one or more destinations viainstant message. In some other embodiments, the network element is theSN server 120 for delivery of the message(s) to the one or moredestinations via social networking message. In some embodiments, thepredictive messaging system 124 sends the message(s) to multiple networkelements. In these embodiments, the same message may be sent to multiplenetwork elements so that the message is delivered to the one or moredestinations via more than one messaging technology.

In some embodiments, the predictive messaging system 124 is configuredto convert a message into a format useable by a network element to whichthe message is to be sent. For example, in preparation to send a messageto the SMS-C/MMS-C 122, the predictive messaging system 124 may formatthe message as an SMS message. In some other embodiments, the predictivemessaging system 124 is configured to provide a message in a plain textformat to the network element, which may then format the message into aformat for delivery to one or more destinations.

The core network 106 may also be in communication with a mobileswitching center (“MSC”) 126. The MSC 126 is configured to function as atelecommunications switch. Although a single MSC 126 is illustrated,multiple MSCs are contemplated. The predictive messaging system 124, insome embodiments, is configured to interface with the MSC 126 directlyor through the core network 106 to capture audio of a voice conversationoccurring during a voice call between two or more devices.

The core network 106 may also be in communication with a home locationregister (“HLR”) and a home subscriber server (“HSS”), illustrated as acombined HLR/HSS 130. The HLR/HSS 130 is shown as a combined networkelement for convenience and ease of illustration, although the HLR andthe HSS may be separate network elements. The HLR/HSS 130 may include adatabase configured to provide routing information for mobile terminatedcalls and various messaging communications. In some embodiments, theHLR/HSS 130 includes a computer configured to support the HLR/HSSdatabase functionality described herein. The HLR/HSS 130 may also beconfigured to maintain subscriber data that is distributed to therelevant visitor location register (“VLR”) (not shown) or servinggeneral packet radio service support node (“SGSN”) (also not shown)through an attach process and to provide mobility management procedures,such as location area and routing area updates.

In some embodiments, the core network 106 is or includes an IPMultimedia Subsystem (“IMS”) network. The IMS network may include theHSS portion of the HLR/HSS 130. The HSS may be a master user databasethat stores subscription-related information, such as subscriber accountdetails and subscriber profiles, performs authentication andauthorization of the user, and provides information about a subscriber'slocation and IP address. In general, the HSS performs similar functionsfor an IMS network that an HLR provides for GSM and UMTS-based networks.

The core network 106 may also facilitate communication with one or moreother public land mobile networks (“PLMNs”) 132. The other PLMN 132 maybe, for example, a foreign network, such as a mobile telecommunicationsnetwork operated by another service provider or the same serviceprovider that operates the core network 106. In the illustratedembodiment, another mobile communications device (“mobile device”) 134is operating in communication with the other PLMN 132. The mobile device134 may be a cellular telephone, a smartphone, a mobile computer, atablet computer, or other computing device that is configured with anintegrated or an external, removable access component that facilitateswireless communication with the PLMN 132 over one or more RANs (notshown) associated with the other PLMN 132. In some embodiments, theaccess component may be a cellular telephone that is in wired orwireless communication with a computer to facilitate a tethered dataconnection to one or more RANs associated with the other PLMN 132. Inother embodiments, the access component may include a wirelesstransceiver configured to send and receive data from the other PLMN 132and a USB or another communication interface for connection to thecomputer to enable tethering. In any case, the mobile device 134 may beconfigured to wirelessly communicate with the other PLMN 132 over an airinterface in accordance with one or more radio access technologies so asto initiate, receive, and/or maintain voice calls with one or more otherdevices. The mobile device 134 may also be configured to send andreceive SMS messages, email, and other messages to other devices.

In some embodiments, the mobile device 102 may be configured to accessvoice and/or data services while roaming on the other PLMN 132. In someembodiments, the mobile device 102 may be roaming on the other PLMN 132,but only has access to circuit-switched based services such as makingand receiving voice calls, receiving voice mail waiting indications,retrieving voice mail, and sending and receiving SMS messages. However,due to contractual agreements between the service provider of the corenetwork 106 and the service provider of the other PLMN 132, or for someother reason, the mobile device 102 may lack packet-switched basedservices such as MMS, IM, and email while roaming on the other PLMN 132.

Turning now to FIG. 2, the predictive messaging system 124 will bedescribed in greater detail. In the illustrated embodiment, thepredictive messaging system 124 is configured to receive incoming audio200 associated with an active voice call and to output a message 202that the predictive messaging system 124 expects a user participating inthe active voice call to send during or after the voice call. Theillustrated predictive messaging system 124 includes an audio capturemodule 204, a conversion module 206, a pattern processing module 208,and a message creation module 210. The illustrated predictive messagingsystem 124 is in communication with a message storage database 212 and aprofile database 214.

The message storage database 212 is configured to store the incomingaudio 200, text generated from the incoming audio 200, and/or themessage 202. In some embodiments, the predictive messaging system 124 isconfigured to store any of the above data in the message storagedatabase 212 for a period of time. In some embodiments, the period oftime for which data is stored is defined in a user preference, which maybe contained within a user profile. In some embodiments, the period oftime for which data is stored is defined by a service provider thatoperates or is otherwise associated with the predictive messaging system124. One or more legal agreements may be in place to permit/deny storageof data and, in some instances, a specification of the period of timefor which data associated with a voice call is allowed to be stored.

The illustrated profile database 214 is configured to store one or moreuser profiles 216A-216N (hereinafter referred to collectively and/orgenerically as “user profiles 216”). Each of the user profiles 216 mayinclude one or more patterns of data 218 (hereinafter “the pattern(s)218”), one or more destinations 220 (hereinafter “the destination(s)220”), and one or more preferences 222 (hereinafter “the preferences222”).

In some embodiments, the pattern(s) 218 is defined by a user. In someembodiments, the pattern(s) 218 is defined by a service provider thatoperates or is otherwise associated with the predictive messaging system124. In some embodiments, the pattern(s) 218 is defined by a thirdparty.

In some embodiments, the pattern(s) 218 is defined at least in part byone or more rules that instruct the predictive messaging system 124 toidentify certain information exchanged in a voice conversation occurringduring an active voice call and, in response to identifying theinformation, perform one or more operations. In some embodiments, anoperation performed by the predictive messaging system 124 as a resultof a rule includes generating and sending one or more messages to one ormore destinations. In these embodiments, the one or more destinationsmay also be defined by the rule. For instance, the one or moredestinations may be one or more participants in the voice call (or moreparticularly one or more devices associated therewith) and/or otherdestinations such as email addresses, physical addresses, telephonenumbers, IM user handles, social networking account handles, and thelike, which may or may not be associated with the participants and/ortheir respective devices. In some other embodiments, an operationperformed by the predictive messaging system 124 as a result of a ruleinclude storing the information (e.g., in audio and/or text format) inthe message storage database 212.

In some embodiments, the pattern(s) 218 to which the predictivemessaging system 124 compares converted text includes one or morekeywords. The keyword(s) may be defined as part of a rule. For example,one or more keywords that indicate the presence of an emergency may bedefined in a pattern to identify an emergency situation discussed duringan active voice call and to notify emergency personnel such as police,firefighters, and/or paramedics via one or more messages. In thismanner, the participants of the voice call need not take additionalsteps to dial 9-1-1 or otherwise notify emergency personnel of anemergency situation. It should be appreciated that the above example usecase is not exhaustive and that numerous additional and/or alternativeuse cases are not mentioned herein for the sake of brevity.

In some embodiments, keyword(s) included in the pattern(s) 218 isdefined by a user. For example, the user may define the keywords“product”, “release”, “cool”, and “phone”, so that when text includessome combination of these words, the predictive messaging system 124predicts that one or more participants in a voice call from which thetext is generated is expected to send a message that identifies the factthat a cool phone is going to be released. In some embodiments, a rulemay specify that the presence of a certain keyword or keywords is toinstruct the predictive messaging system 124 to search for informationthat is potentially associated therewith. In the above example, thepredictive messaging system 124 may identify the keywords “product”,“release”, “cool”, and “phone” and then search for a date or some othertemporal hint (e.g., “in two weeks” or the like) also included in thetext. The date or other temporal hint can then be added to the messagethat identifies the fact that a cool phone is going to be released andsome indication as to when the release is expected to occur. As anotherexample, if the text of a call includes the words “fire”, “house”, and“burning” which matches a pattern of data including those keywords, thenthe predictive messaging system 124 may create a message to the firedepartment and/or other emergency department stating informationassociated with or derived from the pattern of data such as “House firesuspected.”

In some embodiments, a rule may instruct the predictive messaging system124 to include location information such as, but not limited to, anaddress, a cell site ID, and/or GPS coordinates in a message generatedby the predictive messaging system 124. In the above house fire example,a rule may instruct the predictive messaging system 124 to identify thecalling party and/or the called party associated with a voice call,obtain address information for the calling party and/or the called partyfrom a customer database or other source, and include the addressinformation in a message to the fire department and/or other emergencydepartment such that the message indicates that the house fire issuspected “at XXXX address,” where XXXX includes the address informationobtained from the customer database or the other source. It should beappreciated that the above example is not exhaustive and that numerousadditional and/or alternative examples are not mentioned herein for thesake of brevity.

In some embodiments, the pattern(s) 218 is associated with one or moretelephone numbers, which may include called and/or calling numbersassociated with a participants in a voice call. In some embodiments, thepattern(s) 218 is utilized by the predictive messaging system 124 basedupon a condition that two particular telephone numbers are associatedwith a given voice call. In this manner, the participants in a givenvoice call can be identified with some certainty and a pattern of dataparticular to those participants can be utilized by the predictivemessaging system 124.

In some embodiments, the pattern(s) 218 incorporates user behavior. Theuser behavior may be what a user did after or during one or more voicecalls or other communications. For example, if a user is a participantin a voice call in which a specific individual is also a participant,and after contacting that individual the user sends (always or withinsome specified threshold frequency) an SMS message including a summaryof a voice conversation that occurred during the voice call, thepredictive messaging system 124 may use this pattern of data thatincorporates such user behavior to create one or more messages with asummary of one or more future voice calls. In this manner, thepredictive messaging system 124 may learn a user's behavior over timeand modify the pattern(s) 218 associated with a user to incorporate thelearned used behavior.

In some embodiments, the predictive messaging system 124 is configuredto identify inflection expressed in audio associated with a voiceconversation occurring during an active voice call. Inflection may beused by the predictive messaging system 124 to associate a priority withinformation exchanged during a voice conversation. In some embodiments,a message created by the predictive messaging system 124 includes apriority identified by inflection used during a voice conversation fromwhich the message is created. In some embodiments, keywords may beused/not used based upon inflection associated with the keywords. Inthis manner, the predictive messaging system 124 may ignore a keyword orutilize a keyword based upon the presence of inflection or lack thereofin association with the keyword as spoken.

In some embodiments, the destination(s) 220 include a mobile device suchas the mobile device 102 and/or the mobile device 134, a landlinecommunications device such as the landline device 109, a VoIPcommunications device such as the VoIP device 115, and/or anothercommunications device configured to receive messages from the predictivemessaging system 124. The destination(s) 220 may alternatively include atelephone number, Session Initiation Protocol (“SIP”) address, emailaddress, or other identifier associated with a mobile device.

In some embodiments, the preference(s) 222 includes a record preferencethat indicates whether or not an associated user has given thepredictive messaging system 124 permission to record the incoming audio200. The record preference may be governed by one or more legalagreements.

In some embodiments, the preference(s) 222 includes a period of timepreference that indicates a period of time for which the incoming audio200, text generated as a result of a conversion of the incoming audio200 to text, and/or the message generated by the predictive messagingsystem 124 may be stored in the message storage database 212. The periodof time preference may be governed by one or more legal agreements.

In some embodiments, the preference(s) 222 includes a locationpreference that indicates one or more locations in which a user's deviceis to be in order for the predictive messaging service to be active. Forinstance, the user may specify through a location preference to activatethe predictive messaging service provided at least in part by thepredictive messaging system 124 when the user's device is at aparticular location, which may be defined by a cell site ID, GPScoordinates, and/or other location information available from theHRL/HSS 130 or other network elements.

In some embodiments, the preference(s) 222 include an ASR profile for auser. The ASR profile may be utilized by the conversion module 210 toperform conversion of the incoming audio 200 to text.

The audio capture module 204 is configured to receive the incoming audio200 associated with an active voice call. In this regard, the audiocapture module 204 is configured to facilitate communication between thepredictive messaging system 124 and the core network 106 to receive theincoming audio 200. In some embodiments, the audio capture module 204communicates with one or more MSCs, such as the MSC 126, that isinvolved in handling the active voice call. In some other embodiments,the audio capture module 204 communicates with the circuit network(s)108, the packet network(s) 110, and/or the other PLMN 132 to receive theincoming audio 200.

The conversion module 206 is configured to convert the incoming audio200 into text. In some embodiments, the conversion module 206 isconfigured to utilize one or more ASR technologies to convert theincoming audio 200 into text. In some embodiments, the predictivemessaging system 124 utilizes a trainable ASR technology that can betrained to analyze audio associated with particular users. In theseembodiments, an ASR profile may be stored in a user profile, such as oneof the preferences 222.

The pattern processing module 208 is configured to compare text outputby the conversion module 206 to one or more of the pattern(s) 218 in ananalysis of the text to predict the message 202. In some embodiments,the pattern processing module 208 utilizes the preference(s) 222 toselect which pattern of a plurality of patterns to use for a comparison.

The message creation module 210 is configured to create the message 202based upon output of the pattern processing module 208. In someembodiments, the message creation module 210 is configured to convertthe message 202 into a format useable by a network element to which themessage is to be sent. For example, in preparation to send a message tothe SMS-C/MMS-C 122, the predictive messaging system 124 may format themessage as an SMS message. In some other embodiments, the predictivemessaging system 124 is configured to provide the message 202 in a plaintext format to a network element, which may then format the message 202into a format for delivery to one or more destinations, such as definedby the destination(s) 220.

Turning now to FIG. 3, a flow diagram illustrating aspects of a method300 for predicting a message that a user is expected to send based uponinformation exchanged during a voice call and distributing the messagesto one or more destinations will be described, according to anillustrative embodiment. It should be understood that the operations ofthe illustrative methods disclosed herein are not necessarily presentedin any particular order and that performance of some or all of theoperations in an alternative order(s) is possible and is contemplated.The operations have been presented in the demonstrated order for ease ofdescription and illustration. Operations may be combined, separated,added, omitted, modified, and/or performed simultaneously or in anotherorder without departing from the scope of the subject disclosure.

It also should be understood that the illustrated methods can be endedat any time and need not be performed in its entirety. Some or alloperations of the methods, and/or substantially equivalent operations,can be performed by execution of computer-executable instructionsincluded on a computer-storage media, as defined below. The term“computer-executable instructions,” and variants thereof, as used in thedescription and claims, is used expansively herein to include routines,applications, software, application modules, program modules, programs,components, data structures, algorithms, and the like.Computer-executable instructions can be implemented on various systemconfigurations, including single-processor or multiprocessor systems,distributed computing systems, minicomputers, mainframe computers,personal computers, hand-held computing devices, microprocessor-based,programmable consumer electronics, combinations thereof, and the like.

Thus, it should be appreciated that the logical operations describedherein may be implemented (1) as a sequence of computer implemented actsor program modules running on a computing system and/or (2) asinterconnected machine logic circuits or circuit modules within thecomputing system. The implementation is a matter of choice dependent onthe performance and other requirements of the computing system.Accordingly, the logical operations described herein are referred tovariously as states, operations, structural devices, acts, or modules.These operations, structural devices, acts, and modules may beimplemented in software, in firmware, in special purpose digital logic,and any combination thereof.

The method 300 begins and proceeds to operation 302, wherein thepredictive messaging system 124 receives incoming audio associated withan active voice call. From operation 302, the method 300 proceeds tooperation 304, wherein the predictive messaging system 124 converts theaudio into text. From operation 304, the method 300 proceeds tooperation 306, wherein the predictive messaging system 124 analyzes thetext to predict a message that a user participating in the voice call isexpected to send to one or more destinations. It is contemplated thatthe analysis at operation 306 may be used to predict multiple messages.From operation 306, the method 300 proceeds to operation 308, whereinthe predictive messaging system 124 creates the message based upon theanalysis performed at operation 306. From operation 310, the method 300proceeds to operation 310, wherein the predictive messaging system 124sends the message to a network element for delivery to one or moredestination(s). In some embodiments, the predictive messaging system 124sends the message during the voice call. In some other embodiments, thepredictive messaging system 124 sends the message after the voice call.The method 300 then proceeds to operation 312, wherein the method 300may end.

Turning now to FIG. 4, a flow diagram illustrating aspects of method 400for predicting a message that a user is expected to send based uponinformation exchanged during a voice call and distributing the messagesto one or more destinations will be described, according to anillustrative embodiment. The method 400 begins and proceeds to operation402, wherein the predictive messaging system 124 receives incoming audioassociated with an active voice call. From operation 402, the method 400proceeds to operation 404, wherein the predictive messaging system 124converts the audio into text. From operation 404, the method 400proceeds to operation 406, wherein the predictive messaging system 124stores the text, for example, in the message storage database 212 (shownin FIG. 2). From operation 406, the method 400 proceeds to operation408, wherein the predictive messaging system 124 compares the text toone or more patterns, for example, contained in a user profileassociated with a user for which a message is to be predicted.

From operation 408, the method 400 proceeds to operation 410, whereinthe predictive messaging system 124 determines whether at least aportion of the text matches the one or more patterns. The predictivemessaging system 124 may additionally consider one or more rules thatdefine at least in part the one or more patterns. The rules may bedirected to telephone numbers, locations, and/or other informationassociated with the participants of the voice call as described ingreater detail herein above. If so, the method 400 proceeds to operation412, wherein the predictive messaging system 124 creates a messageincluding at least the portion of the text that was determined to matchthe one or more patterns. Also at operation 412, the predictivemessaging system 124 sends the message to a network element for deliveryto one or more destination(s). The method 400 then proceeds to operation414, wherein the method 400 may end.

If, however, at operation 410, the predictive messaging system 124determines that at least a portion of the text does not match the one ormore patterns, the method 400 proceeds to operation 416, wherein thepredictive messaging system 124 discards the stored text. The method 400then proceeds to operation 414, wherein the method 400 may end.

Turning now to FIG. 5, a flow diagram illustrating aspects of a method500 for creating a user profile for a predictive messaging service willbe described, according to an illustrative embodiment. The method 500begins and proceeds to operation 502, wherein the predictive messagingsystem 124 receives a request for predictive message service. In someembodiments, the request includes a telephone number associated with anaccount for which the predictive message service is requested.

From operation 502, the method 500 proceeds to operation 504, whereinthe predictive messaging system 124 creates a user profile for a userparticipating in the request, for example, as identified by a telephonenumber or other subscriber identifier. The user profile may include, butis not limited to including, one or more patterns, one or moredestinations, and one or more preferences, as described in greaterdetail above with reference to FIG. 2. From operation 504, the method500 proceeds to operation 506, wherein the predictive messaging system124 populates the user profile. In some embodiments, the user profile ispopulated with default values for pattern, destination, and/orpreference data of the user profile. In some other embodiments, the usermay be prompted to provide details for this initial population of userprofile data. The user may provide details via voice conversation, chatconversation, email exchange, an application executing on the user'sdevice, and/or via a web interface. From operation 506, the method 500proceeds to operation 508, wherein the method 500 may end.

Turning now to FIG. 6, a flow diagram illustrating aspects of a method600 for modifying a pattern utilized to predict a message that a user isexpected to send based upon information exchanged during a voice callwill be described, according to an illustrative embodiment. The method600 begins and proceeds to operation 602, wherein the predictivemessaging system 124 associates a pattern with a user in a user profile.From operation 602, the method 600 proceeds to operation 604, whereinthe predictive messaging system 124 analyzes one or more communicationsassociated with the user. The communication may include one or moremessages sent by the user. From operation 604, the method proceeds tooperation 606, wherein the predictive messaging system 124 modifies thepattern to incorporate user behavior identified by the analysis of theone or more communications. From operation 606, the method 600 proceedsto operation 608, wherein predictive messaging system 124 associates themodified pattern with the user in the user profile. From operation 608,the method 600 proceeds to operation 610, wherein the method 600 mayend.

FIG. 7 is a block diagram illustrating a computer system 700 configuredto perform various operations disclosed herein. The computer system 700includes a processing unit 702, a memory 704, one or more user interfacedevices 706, one or more input/output (“I/O”) devices 708, and one ormore network devices 710, each of which is operatively connected to asystem bus 712. The bus 712 enables bi-directional communication betweenthe processing unit 702, the memory 704, the user interface devices 706,the I/O devices 708, and the network devices 710.

The processing unit 702 may be a standard central processor thatperforms arithmetic and logical operations, a more specific purposeprogrammable logic controller (“PLC”), a programmable gate array, orother type of processor known to those skilled in the art and suitablefor controlling the operation of the computer system 700. Processingunits are generally known, and therefore are not described in furtherdetail herein.

The memory 704 communicates with the processing unit 702 via the systembus 712. In some embodiments, the memory 704 is operatively connected toa memory controller (not shown) that enables communication with theprocessing unit 702 via the system bus 712. The illustrated memory 704includes an operating system 714 and one or more program modules,including the audio capture module 204, the conversion module 206, thepattern processing module 208, and the message creation module 210. Theillustrated memory 704 also includes the message storage database 212and the profile database 214. The modules 204-210 are configured to beexecuted by the processing unit 702 to perform the respective variousoperations described herein above, for example, with reference to themethods 300, 400, 500, 600.

The operating system 714 can include, but is not limited to, members ofthe WINDOWS, WINDOWS CE, WINDOWS MOBILE, and/or WINDOWS PHONE familiesof operating systems from MICROSOFT CORPORATION, the LINUX family ofoperating systems, the SYMBIAN family of operating systems from SYMBIANLIMITED, the BREW family of operating systems from QUALCOMM CORPORATION,the MAC OS and/or iOS families of operating systems from APPLE INC., theFREEBSD family of operating systems, the SOLARIS family of operatingsystems from ORACLE CORPORATION, other operating systems such asproprietary operating systems, and the like.

The user interface devices 706 may include one or more devices withwhich a user accesses the computer system 700. The user interfacedevices 706 may include, but are not limited to, computers, servers,personal digital assistants, telephones (e.g., cellular, IP, orlandline), or any suitable computing devices. The I/O devices 708 enablea user to interface with the program modules. In one embodiment, the I/Odevices 708 are operatively connected to an I/O controller (not shown)that enables communication with the processing unit 702 via the systembus 712. The I/O devices 708 may include one or more input devices, suchas, but not limited to, a keyboard, a mouse, or an electronic stylus.Further, the I/O devices 708 may include one or more output devices,such as, but not limited to, a display screen or a printer.

The network devices 710 enable the computer system 700 to communicatewith other networks or remote systems via a network 724, such as one ormore of the networks illustrated and described with reference to FIG. 1or some other network. Examples of the network devices 710 include, butare not limited to, a modem, a radio frequency (“RF”) or infrared (“IR”)transceiver, a telephonic interface, a bridge, a router, or a networkcard. The network 724 may include a wireless network such as, but notlimited to, a WLAN such as a WI-FI network, a WWAN, a wireless personalarea network (“WPAN”) such as BLUETOOTH, or a wireless metropolitan areanetwork (“WMAN”). Alternatively, the network 724 may be a wired networksuch as, but not limited to, a wide area network (“WAN”) such as theInternet, a local area network (“LAN”) such as the Ethernet, a wiredpersonal area network (“PAN”), or a wired metropolitan area network(“MAN”).

The network 724 embodied as a cellular network may utilize a mobiletelecommunications technology such as, but not limited to, GSM, UMTS,CDMA ONE, CDMA2000, LTE, and various other 2G, 2.5G, 3G, 4G, and greatergeneration mobile telecommunications technologies. In addition, mobiledata communications technologies such as GPRS, EDGE, the HSPA protocolfamily including HSDPA, EUL or otherwise termed HSUPA, HSPA+, andvarious other current and future mobile data communications technologiesare contemplated for use by the network 724. Therefore, the embodimentspresented herein should not be construed as being limited to aparticular mobile telecommunications technology and/or standardsutilizing such technologies.

Turning now to FIG. 8, an illustrative mobile device 800 and componentsthereof will be described. Although connections are not shown betweenthe components illustrated in FIG. 8, the components can interact witheach other to carry out device functions. In some embodiments, forexample, the components are arranged so as to communicate via one ormore busses (not shown). It should be understood that FIG. 8 and thefollowing description are intended to provide a general understanding ofa suitable environment in which various aspects of embodiments can beimplemented. The mobile devices 102, 134 described herein above may beconfigured like the mobile device 800. It should be understood that themobile devices 102, 134 may include additional functionality or includeless functionality than now described.

As illustrated in FIG. 8, the mobile device 800 includes a display 802for displaying data including, but not limited to, graphical userinterface (“GUI”) elements, text, images, video, virtual keypads and/orkeyboards, messaging data, notification messages, metadata, internetcontent, device status, time, date, calendar data, device preferences,map and location data, and the like. The mobile device 800 also includesa processor 804 for processing data and/or executing computer-executableinstructions of one or more applications 806 stored in a memory 808. Insome embodiments, the applications 806 include a UI application 809. TheUI application 809 interfaces with an operating system (“OS”)application 810 to facilitate user interaction with device functionalityand data. In some embodiments, the OS application 810 is one of SYMBIANOS from SYMBIAN LIMITED, WINDOWS MOBILE OS from MICROSOFT CORPORATION,WINDOWS PHONE OS from MICROSOFT CORPORATION, PALM WEBOS from HEWLETTPACKARD CORPORATION, BLACKBERRY OS from RESEARCH IN MOTION LIMITED, IOSfrom APPLE INC., and ANDROID OS from GOOGLE INC. These operating systemsare merely illustrative of the operating systems that may be used inaccordance with the embodiments disclosed herein.

The UI application 809 aids a user in entering message content, viewingreceived messages, answering/initiating calls, entering/deleting data,entering and setting user IDs and passwords for device access,configuring settings, manipulating address book content and/or settings,multimode interaction, interacting with other applications 812, andotherwise facilitating user interaction with the OS application 810, andthe other applications 812.

In some embodiments, the other applications 812 include, for example,presence applications, visual voice mail applications, messagingapplications, text-to-speech and speech-to-text applications, add-ons,plug-ins, email applications, music applications, video applications,camera applications, location-based service applications, powerconservation applications, game applications, productivity applications,entertainment applications, enterprise applications, combinationsthereof, and the like. The applications 806 or portions thereof arestored in the memory 808 and/or in a firmware 814, and are executed bythe processor 804. The firmware 814 may also store code for executionduring device power up and power down operations.

The mobile device 800 also includes an input/output (“I/O”) interface816 for the input/output of data such as location information, presencestatus information, user IDs, passwords, and application initiation(start-up) requests. In some embodiments, the I/O interface 816 is ahardwire connection such as a universal serial bus (“USB”), mini-USB,micro-USB, audio jack, PS2, IEEE 1394, serial, parallel, Ethernet(RJ411) port, RJ11 port, proprietary port, combinations thereof, or thelike. In some embodiments, the mobile device 800 is configured tosynchronize with another device (e.g., a computer) to transfer contentstored to/from the mobile device 800. In some embodiments, the mobiledevice 800 is configured to receive updates to one or more of theapplications 806 via the I/O interface 816. In some embodiments, the I/Ointerface 816 accepts I/O devices such as keyboards, keypads, mice,interface tethers, printers, plotters, external storage,touch/multi-touch screens, touch pads, trackballs, joysticks,microphones, remote control devices, displays, projectors, medicalequipment (e.g., stethoscopes, heart monitors, and other health metricmonitors), modems, routers, external power sources, docking stations,combinations thereof, and the like. It should be appreciated that theI/O interface 816 may be used for communications between the mobiledevice 800 and a network device or local device instead of, or inaddition to, a communications component 818.

The communications component 818 interfaces with the processor 804 tofacilitate wireless communications with one or more networks such asthose illustrated in FIG. 1. In some embodiments, other networks includenetworks that utilize non-cellular wireless technologies such as WI-FIor WIMAX. In some embodiments, the communications component 818 includesa multimode communications subsystem for facilitating communications viathe cellular network and one or more other networks.

The communications component 818, in some embodiments, includes one ormore transceivers each configured to communicate over the same or adifferent wireless technology standard. For example, the transceivers ofthe communications component 818 may be configured to communicate usingGSM, CDMAONE, CDMA2000, LTE, and various other 2G, 2.5G, 3G, 4G, andgreater generation technology standards. Moreover, the communicationscomponent 818 may facilitate communications over various channel accessmethods (which may or may not be used by the aforementioned standards)including, but not limited to, TDMA, FDMA, W-CDMA, OFDM, SDMA, and thelike. In addition, the communications component 818 may facilitate datacommunications using GPRS, EDGE, the HSPA protocol family includingHSDPA, EUL or otherwise termed HSUPA, HSPA+, and various other currentand future wireless data access standards.

In the illustrated embodiment, the communications component 818 includesa first cellular transceiver 820 that operates in one mode (e.g., GSM),and an N^(th) cellular transceiver 822 operates in a different mode(e.g., UMTS). While only two cellular transceivers 820, 822 areillustrated, it should be appreciated that more than two transceiverscan be included in the communications component 818.

The illustrated communications component 818 also includes analternative communications transceiver 824 for use by othercommunications technologies including WI-FI, WIMAX, BLUETOOTH, infrared,infrared data association (“IRDA”), near field communications (“NFC”),other RF, combinations thereof, and the like. In some embodiments, thecommunications component 818 also facilitates reception from terrestrialradio networks, digital satellite radio networks, internet-based radioservice networks, combinations thereof, and the like.

The communications component 818 processes data from a network such asan internet, an intranet, a home broadband network, a WI-FI hotspot, andthe like, via an internet service provider (“ISP”), digital subscriberline (“DSL”) provider, or broadband provider.

Audio capabilities for the mobile device 800 may be provided by an audioI/O component 826 that includes a speaker for the output of audiosignals and a microphone to collect audio signals.

The illustrated mobile device 800 also includes a USIM system 828 thatincludes a SIM slot interface 830 for accommodating a USIM card. In someembodiments, the USIM system 828 is configured to accept insertion ofother SIM cards for access to other network types such as GSM. In otherembodiments, the USIM system 828 is configured to accept multiple SIMcards. In still other embodiments, the USIM system 828 is configured toaccept a universal integrated circuit card (“UICC”) with one or more SIMapplications stored thereupon.

The mobile device 800 may also include an image capture and processingsystem 832 (“image system”). Photos may be obtained via an associatedimage capture subsystem of the image system 832, for example, a camera.The mobile device 800 may also include a video system 834 for capturing,processing, recording, and/or modifying video content. Photos and videosobtained using the image system 832 and the video system 834,respectively, may be added as message content to an MMS message and sentto another mobile device.

The illustrated mobile device 800 also includes a location component 836for sending and/or receiving signals such as GPS data, assisted-GPSdata, WI-FI/WIMAX and/or cellular network triangulation data,combinations thereof, and the like, for determining a location of themobile device 800. The location component 836 may communicate with thecommunications component 818 to retrieve triangulation data fordetermining a location of the mobile device 800. In some embodiments,the location component 836 interfaces with cellular network nodes,telephone lines, satellites, location transmitters and/or beacons,wireless network transmitters and receivers, combinations thereof, andthe like. In some embodiments, the location component 836 includes oneor more sensors such as a compass, an accelerometer, and/or a gyroscopeto determine the orientation of the mobile device 800. Using thelocation component 836, the mobile device 800 can generate and/orreceive data to identify its location, or transmit data used by otherdevices to determine the location of the mobile device 800. The locationcomponent 836 may include multiple components for determining thelocation and/or orientation of the mobile device 800.

The illustrated mobile device 800 also includes a power source 838, suchas one or more batteries and/or other power subsystem (AC or DC). Thepower source 838 may interface with an external power system or chargingequipment via a power I/O component 840.

As used herein, communication media includes computer-executableinstructions, data structures, program modules, or other data in amodulated data signal such as a carrier wave or other transportmechanism and includes any delivery media. The term “modulated datasignal” means a signal that has one or more of its characteristicschanged or set in a manner as to encode information in the signal. Byway of example, and not limitation, communication media includes wiredmedia such as a wired network or direct-wired connection, and wirelessmedia such as acoustic, RF, infrared, and other wireless media.Combinations of the any of the above should also be included within thescope of computer-readable media.

By way of example, and not limitation, computer storage media mayinclude volatile and non-volatile, removable and non-removable mediaimplemented in any method or technology for storage of information suchas computer-executable instructions, data structures, program modules,or other data. For example, computer media includes, but is not limitedto, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memorytechnology, CD-ROM, digital versatile disks (“DVD”), HD-DVD, BLU-RAY, orother optical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other medium which canbe used to store the desired information and which can be accessed bythe mobile device 800 or other devices or computers described herein,such as the computer system described below with reference to FIG. 9.For purposes of the claims, the phrase “computer-readable storagemedium” and variations thereof, does not include waves, signals, and/orother transitory and/or intangible communication media, per se.

Encoding the software modules presented herein also may transform thephysical structure of the computer-readable media presented herein. Thespecific transformation of physical structure may depend on variousfactors, in different implementations of this description. Examples ofsuch factors may include, but are not limited to, the technology used toimplement the computer-readable media, whether the computer-readablemedia is characterized as primary or secondary storage, and the like.For example, if the computer-readable media is implemented assemiconductor-based memory, the software disclosed herein may be encodedon the computer-readable media by transforming the physical state of thesemiconductor memory. For example, the software may transform the stateof transistors, capacitors, or other discrete circuit elementsconstituting the semiconductor memory. The software also may transformthe physical state of such components in order to store data thereupon.

As another example, the computer-readable media disclosed herein may beimplemented using magnetic or optical technology. In suchimplementations, the software presented herein may transform thephysical state of magnetic or optical media, when the software isencoded therein. These transformations may include altering the magneticcharacteristics of particular locations within given magnetic media.These transformations also may include altering the physical features orcharacteristics of particular locations within given optical media, tochange the optical characteristics of those locations. Othertransformations of physical media are possible without departing fromthe scope and spirit of the present description, with the foregoingexamples provided only to facilitate this discussion.

In light of the above, it should be appreciated that many types ofphysical transformations take place in the mobile device 800 in order tostore and execute the software components presented herein. It is alsocontemplated that the mobile device 800 may not include all of thecomponents shown in FIG. 8, may include other components that are notexplicitly shown in FIG. 8, or may utilize an architecture completelydifferent than that shown in FIG. 8.

Based on the foregoing, it should be appreciated that concepts andtechnologies for a predictive messaging service for active voice callshave been disclosed herein. Although the subject matter presented hereinhas been described in language specific to computer structural features,methodological and transformative acts, specific computing machinery,and computer-readable media, it is to be understood that the inventiondefined in the appended claims is not necessarily limited to thespecific features, acts, or media described herein. Rather, the specificfeatures, acts and mediums are disclosed as example forms ofimplementing the claims.

The subject matter described above is provided by way of illustrationonly and should not be construed as limiting. Various modifications andchanges may be made to the subject matter described herein withoutfollowing the example embodiments and applications illustrated anddescribed, and without departing from the true spirit and scope of thesubject disclosure.

1. A method for predictive messaging, the method comprising: receiving,at a predictive messaging system comprising a processor, incoming audioassociated with an active voice call; converting, by the predictivemessaging system, the audio into text; analyzing, by the predictivemessaging system, the text to predict a message that a userparticipating in the active voice call is expected to send; creating, bythe predictive messaging system, the message; and sending, by thepredictive messaging system, the message to a network element fordelivery to a destination.
 2. The method of claim 1, wherein sending themessage to the network element comprises sending the message to one ofthe following: a short message service center; an email server; aninstant messaging server; and a social networking server.
 3. The methodof claim 1, wherein analyzing the text to predict the message comprisescomparing the text to a pattern and determining if at least a portion ofthe text matches the pattern, and wherein creating the message comprisescreating the message in response to determining that at least theportion of the text matches the pattern.
 4. The method of claim 3,further comprising storing the text.
 5. The method of claim 4, furthercomprising discarding the stored text in response to determining that atleast the portion of the text does not match the pattern.
 6. The methodof claim 3, wherein the pattern is contained within a user profileassociated with the user.
 7. The method of claim 6, wherein the userprofile also contains the destination.
 8. The method of claim 6, whereinthe pattern comprises a modification that incorporates user behavioridentified by an analysis of a previous communication associated withthe user.
 9. The method of claim 1, wherein sending the message to thenetwork element comprises one of the following: sending the messageduring the active voice call; and sending the message after the activevoice call.
 10. A predictive messaging system comprising: a processor;and a memory that stores computer-executable instructions that, whenexecuted by the processor, cause the processor to perform operationscomprising receiving incoming audio associated with an active voicecall, converting the audio into text, analyzing the text to predict amessage that a user participating in the active voice call is expectedto send, creating the message, and sending the message to a networkelement for delivery to a destination.
 11. The predictive messagingsystem of claim 10, wherein analyzing the text to predict the messagecomprises comparing the text to a pattern and determining if at least aportion of the text matches the pattern, and wherein creating themessage comprises creating the message in response to determining thatat least the portion of the text matches the pattern.
 12. The predictivemessaging system of claim 11, wherein the memory further comprisescomputer-executable instructions that, when executed by the processor,cause the processor to perform additional operations comprising: storingthe text; and discarding the stored text in response to determining thatat least the portion of the text does not match the pattern.
 13. Thepredictive messaging system of claim 12, wherein the pattern iscontained within a user profile associated with the user.
 14. Thepredictive messaging system of claim 13, wherein the user profile alsocontains the destination.
 15. The predictive messaging system of claim13, wherein the pattern comprises a modification that incorporates userbehavior identified by an analysis of a previous communicationassociated with the user.
 16. The predictive messaging system of claim11, wherein sending the message to the network element comprises one ofthe following: sending the message during the active voice call; andsending the message after the active voice call.
 17. A computer-readablestorage medium that stores computer-executable instructions that, whenexecuted by a processor, cause the processor to perform operationscomprising: receiving incoming audio associated with an active voicecall; converting the audio into text; analyzing the text to predict amessage that a user participating in the active voice call is expectedto send; creating the message; and sending the message to a networkelement for delivery to a destination.
 18. The computer-readable storagemedium of claim 17, wherein analyzing the text to predict the messagecomprises comparing the text to a pattern and determining if at least aportion of the text matches the pattern, and wherein creating themessage comprises creating the message in response to determining thatat least the portion of the text matches the pattern.
 19. Thecomputer-readable storage medium of claim 18, further comprisingcomputer-executable instructions that, when executed by the processor,cause the processor to perform additional operations comprising: storingthe text; and discarding the stored text in response to determining thatat least the portion of the text does not match the pattern.
 20. Thecomputer-readable storage medium of claim 19, wherein the pattern iscontained within a user profile, the user profile also containing thedestination.